home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-09-27 | 2.6 KB | 97 lines |
- 10 CLEAR:SSSS=1:FAST=0:C=1:DIM Q$(1000):DIM U(1000):DIM CL(1000):ZX=18:STRIG (0) ON:STRIG (4) ON
- 20 SCREEN 0,0,0:WIDTH 80:COLOR 2,4,5:KEY OFF:CLS:POKE 106,0
- 30 FOR T=1 TO 10:KEY (T) ON:NEXT:GOSUB 100
- 40 SCREEN SSSS:COLOR 0,2:CLS
- 50 ZX=0:X=160:Y=100:T=0
- 60 WINDOW SCREEN (0,0)-(128,128)
- 65 X=STICK(0):Y=STICK(1)
- 70 LINE (X,Y)-(X,Y),C,BF
- 80 IF INKEY$="+" THEN CLS
- 90 GOTO 65
- 100 CLS:FOR T=1 TO 10:KEY(T)ON:NEXT
- 110 ON KEY (1) GOSUB 790
- 120 ON KEY (5) GOSUB 470
- 130 ON KEY (6) GOSUB 490
- 140 ON KEY (7) GOSUB 630
- 150 ON KEY (8) GOSUB 380
- 160 ON KEY (9) GOSUB 340
- 170 ON KEY (10) GOSUB 330
- 180 RETURN
- 190 PRINT" <F1>=PRINT THE SCREEN"
- 200 PRINT" <F2>=SWITCH SCREENS"
- 210 PRINT" <F3>=DRAW FAST/SLOW"
- 220 PRINT" <F4>=THICKNESS"
- 230 PRINT" <F5>=DRAWING COLOR"
- 240 PRINT" <F6>=SAVE SCREEN"
- 250 PRINT" <F7>=RETRIEVE PICTURE"
- 260 PRINT" <F8>="
- 270 PRINT" <F9>="
- 280 PRINT" <F10>="
- 290 SSSS=SSSS+1:IF SSSS>2 THEN SSSS=1
- 300 IF SSSS=1 THEN ZX=18
- 310 IF SSSS=2 THEN ZX=36
- 320 SCREEN SSSS:RETURN
- 330 C=0:RETURN
- 340 IF SSSS=1 AND TH>-1 AND SH>-1 THEN LINE (TH,SH)-(127-TH,127-SH),0,B
- 350 IF SSSS=2 AND TH>-1 AND SH>-1 THEN LINE (7+TH,2+SH)-(639-TH,196-SH),0,B
- 360 SH=SH-0.5:TH=TH-0.3
- 370 RETURN
- 380 IF SSSS=1 AND TH>-1 AND SH>-1 THEN LINE (TH,SH)-(127-TH,127-SH),C,B
- 390 IF SSSS=2 AND TH>-1 AND SH>-1 THEN LINE (7+TH,2+SH)-(639-TH,196-SH),C,B
- 400 TH=TH+0.3:SH=SH+0.5
- 410 IF BBBB=0 THEN CL(M)=C:Q$(M)="BC":U(M)=T:M=M+1
- 420 RETURN
- 430 IF FAST=1 THEN FAST=0:RETURN
- 440 IF FAST=0 THEN FAST=1:RETURN
- 450 T=T+2:IF T>10 THEN T=0
- 460 RETURN
- 470 C=C+1:IF C>3 THEN C=1
- 480 RETURN
- 490 N$="PEST":EN$=".TEM":GOSUB 610
- 500 ON ERROR GOTO 520
- 510 CLS:FILES "*.PIC"
- 520 INPUT "NAME OF FILE TO SAVE(</> TO EXIT)";N$:IF N$="/" THEN DEF SEG=&HB800:BLOAD "PEST.TEM":FLAG1=1:GOTO 110
- 530 FOR L=1 TO LEN (N$)
- 540 IF MID$(N$,L,1)="." THEN PRINT"DON'T USE A PERIOD IN THE NAME!":GOTO 520
- 550 NEXT
- 560 INPUT "SURE";S$:IF LEFT$(S$,1)="N" OR LEFT$(S$,1)="n" THEN 510
- 570 OPEN "A:"+N$+".VAR" FOR OUTPUT AS #1
- 580 PRINT #1,SSSS,FAST,C,X,Y
- 590 CLOSE
- 600 NAME "A:PEST.TEM" AS "A:"+N$+".PIC":SH=0:TH=0:X=160:Y=100:A$="":C=C+1:BBBB=0:FLAG1=1:SCREEN SSSS:GOSUB 620:GOTO 110
- 610 DEF SEG = &HB800:BSAVE "A:PEST.TEM",0,&H4000
- 620 CLS:DEF SEG = &HB800:BLOAD "A:"+N$+EN$:CLOSE:EN$=".PIC":RETURN
- 630 CLS
- 640 PRINT"PUT A DISK IN DRIVE `A' AND HIT A KEY WHEN READY."
- 650 IF INKEY$="" THEN 650
- 660 CLS:FILES "*.PIC"
- 670 PRINT:INPUT "FILE TO RETRIEVE";N$
- 680 FOR T=1 TO LEN (N$)
- 690 IF MID$(N$,T,1)="." THEN PRINT"DON'T USE A PERIOD IN THE NAME!":GOTO 670
- 700 NEXT
- 710 OPEN "A:"+N$+".VAR" FOR INPUT AS #1
- 720 INPUT #1,SSSS,FAST,C,X,Y
- 730 CLOSE:SH=0:TH=0:SCREEN SSSS:CLS:DEF SEG = &HB800:BLOAD "A:"+N$+".PIC":FLAG1=1:A$="":GOTO 110
- 740 ZX=ZX+1:IF ZX>1 THEN ZX=0
- 750 RETURN
- 760 PR=PR+1:IF PR>1 THEN PR=0
- 770 RETURN
- 780 A$="":B$=A$:RETURN
- 790 LPRINT CHR$ (2);CHR$(3);
- 800 DIM A (10):GOTO 830
- 810 CLS:SCREEN 1
- 820 FOR S=0 TO 199 STEP 40:FOR T= 0 TO 319 STEP 30:CIRCLE (T,S),20:NEXT:NEXT
- 830 FOR AS=0 TO 199 STEP 7:FOR JK=0 TO 319
- 840 FOR GH=0 TO 6
- 850 A(GH)=POINT(JK,GH+AS):NEXT
- 860 IF A(0)<>0 THEN P=P+1
- 870 IF A(1)<>0 THEN P=P+2
- 880 IF A(2)<>0 THEN P=P+4
- 890 IF A(3)<>0 THEN P=P+8
- 900 IF A(4)<>0 THEN P=P+16
- 910 IF A(5)<>0 THEN P=P+32
- 920 IF A(6)<>0 THEN P=P+64
- 930 LPRINT CHR$ (P);:'CHR$ (20);
- 940 P=0:NEXT:LPRINT CHR$ (3);CHR$ (14);:NEXT
- 950 FLAG1=1:GOTO 110
-